using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using Gko.Utils.Interfaces;

namespace Gko.Utils
{
	public class DisposableBindableBase : DisposableBase, IBindable
	{
		#region IBindable Members

		public event PropertyChangedEventHandler PropertyChanged;

		public void OnPropertyChanged(string propertyName)
		{
			var isRaised = this.PropertyChanged.Raise(this, propertyName);
			if (!isRaised) {
				this.OnPropertyChangedNotNotified(propertyName);
			}
		}

		#endregion

		protected virtual void OnPropertyChangedNotNotified(string propertyName)
		{

		}
	}
}
